#include "EcoSystem.h"
#include "ecosystem_gdiplus.h"
#include "Environment.h"
#include "Grass.h"
#include "Tree.h"
#ifndef TYPICALENVIRONMENT
#define TYPICALENVIRONMENT

class TypicalEnvironment : public Environment
{
public:
    const static unsigned int YEAR_LAST = YEAR_LAST;
    const static unsigned int DAY_LAST = YEAR_LAST / 12 / 3;

    TypicalEnvironment(EcoSystem *eco_system);
    virtual ~TypicalEnvironment();


    virtual void    on_tick();
    virtual void    render_environment_background(Gdiplus::Graphics *g) const;
    virtual void    render_environment_effects(Gdiplus::Graphics *g) const;

    void set_current_tick(unsigned int tick);

private:
    void spring();
    void summer();
    void autumn();
    void winter();
    void update_brightness();
    void try_spawn_grass();

    unsigned int current_tick;
    int spawn_grass_cd;
};

#endif